Package com.apps.ubc.cc.ajax

Source Code of com.apps.ubc.cc.ajax.NotificationRequestController

/*
* AUTHOR: Kevin Lam
*/

package com.apps.ubc.cc.ajax;

import java.io.IOException;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.apps.datastore.AccountInformationDatastore;
import com.apps.datastore.NotifierDatastore;
import com.apps.datastore.dao.AccountObject;
import com.apps.datastore.dao.ContactInformationObject;
import com.apps.datastore.dao.UniqueCourseObject;
import com.apps.datastore.dao.ContactInformationObject.CARRIER;
import com.google.appengine.api.datastore.EntityNotFoundException;

public class NotificationRequestController extends HttpServlet{
 
  NotifierDatastore d = new NotifierDatastore();
  AccountInformationDatastore ad = new AccountInformationDatastore();
 
  public void doGet(HttpServletRequest req, HttpServletResponse resp) {
  String dept = req.getParameter("dept");
  String course = req.getParameter("course");
  String section = req.getParameter("section");
  Cookie[] cookies= req.getCookies();
  String user = null;
  for(int i = 0; i < cookies.length; i++) {
    if(cookies[i].getName().equals("user"))
      user = cookies[i].getValue();   
  }
  String xmlout = "<response>\n";
  if(user != null) {
    AccountObject ao = ad.getAccountObject(user);
    if(ao != null){
      long seatcfg = Long.parseLong(req.getParameter("seatcfg"));
      String email = ao.getEmail();
      String phoneNumber =ao.getPhoneNumber();
      long notifycfg = ao.getNotifyConfig();
      CARRIER carrier = ao.getCarrier();
      if((phoneNumber.isEmpty() || carrier.name().equals("NULL")) && notifycfg == 2)
        xmlout += "\t<message>Invalid carrier or phone number, check your account preferences</message>\n";
      else {
        boolean success;
        try {
          UniqueCourseObject uco = new UniqueCourseObject(dept,course,section);
          d.addCourse(uco);
          success = d.addNotifier(uco, new ContactInformationObject(email,phoneNumber,seatcfg,notifycfg,carrier));
          if(success)
            xmlout += "\t<message>Notification request was successfully added</message>\n";
          else
            xmlout += "\t<message>Notification request failed</message>\n";
        } catch (EntityNotFoundException e) {
          xmlout +="\t<message>Unexpected error has occured</message>\n";
        }

      }
    }
    else {
      xmlout += "\t<message>Account not found</message>\n";
    }
  }
  else {
    xmlout += "\t<message>Not logged in</message>\n";
  }
  xmlout += "</response>";
  try {
    resp.setContentType("text/xml; charset=UTF-8");
    resp.getWriter().write(xmlout);
  } catch (IOException e) {
    e.printStackTrace();
  }
 
  }
}
TOP

Related Classes of com.apps.ubc.cc.ajax.NotificationRequestController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.